const express = require('express')

const app = express()

const mw1 = (req,res,next)=>{
  console.log('这是第一个局部中间件');
  next()
}


const mw2 = (req,res,next)=>{
  console.log('这是第二个局部中间件');
  next()
}

// 第一种写法
app.get('/user/list',mw1,mw2,(req,res)=>{
  res.send('User list')
})

// 第二种写法
app.get('/user/list',[mw1,mw2],(req,res)=>{
  res.send('User list')
})

app.listen('8080',()=>{
  console.log('http://127.0.0.1:8080');
})

/**
 * 中间件注意点
 * (1) 中间件代码一定要写在路由代码的前面，因为很可能路由要使用局部中间件
 * (2) 请求到达服务器之前可以调用多个中间件
 * (3) 这多个中间件之间的req、res是可以共享的
 * (4) 中间件里面一定不要忘了写next用于跳转下一个中间件或路由
 * (5) 在调用完next之后就不要写代码了，已经结束了，很想函数的return
 * */ 